Lighting from area sources, soft shadows, and interreflections are important effects in the computer of computer graphics images. While still computer graphics images can be computer with high accuracy and realistic appearance, most methods for computing moving computer graphics images, in particular those integrating over large-scale lighting environments, are still impractical for real-time rendering despite the increasing computer and storage power of modern graphics processing units (GPU), graphics chipsets and graphics cards.
A tremendous amount of research has been conducted in the field of global illumination (GI), a more comprehensive overview of non-interactive methods being disclosed by Dutré P., Bala, K. and Bekaert, P. 2006, Advanced Global Illumination, A K Peters. Basically, these methods for interactive applications according to the prior art can be classified into five categories as outlined below, namely classic methods, precomputed and low-frequency radiance transfer, screen-space methods, instant radiosity methods and lattice-based method.
a) Classic methods: Huge progress has been made in the field of ray tracing. Although recent work achieves interactive performance with complex lighting effects [Wang et al. 2009], these methods are still not applicable to real-time applications with complex scenes. Recently, variants of radiosity methods tailored for graphics hardware have also been introduced. Dong et al. [2007] achieves interactive global illumination for small scenes, where visibility was evaluated directly on the hierarchical link mesh. Explicit visibility computations can be replaced by an iterative process using anti-radiance [Dachsbacher et al. 2007]. Although interactive GI in moderately complex scenes becomes possible, the use of dynamic objects is restricted. Bunnell [2005] coarsely approximates indirect illumination and ambient occlusion using a finite element technique allowing for deforming objects.
b) Precomputed and low-frequency radiance transfer: Many techniques for real-time global illumination precompute the light transport including all visibility information which entails restrictions such as static [Sloan et al. 2002] or semi-static scenes [Iwasaki et al. 2007]. Ha{hacek over (s)}an et al. [2007] approximate global illumination by many point lights and present a scalable GPU-technique for high-quality images targeting rendering times of few seconds. The radiance transfer is often represented in spherical harmonics (SH) basis. Recently, the limitations of these methods have been eased, e.g. Sloan et al. [2007] demonstrate real-time indirect illumination for low-frequency incident lighting and visibility when these are represented with a small number of SH. This approach is disclosed also in U.S. Pat. No. 7,262,770 B2.
c) Screen-space methods: In recent years, GPU-friendly techniques operating in image space became popular, and are presently widely used. As any standard shadow map, the reflective shadow map (RSM) [Dachsbacher and Stamminger 2005] captures directly lit surfaces, but stores additional information that is required to compute the indirect illumination from these surfaces such that each pixel can be seen as a small light source. Rendering indirect illumination from the reflective shadow map can be implemented via sampling a subset of the pixel lights. Screen space ambient occlusion [Mittring 2007; Bavoil et al. 2008] is part of almost any real-time rendering engine nowadays. Recently, Ritschel et al. [2009b] extended these methods by accounting for directional lighting and show colored shadows and indirect illumination. Note that these techniques compute light transport over small distances (in image space) only, and typically require post-processing to reduce sampling artifacts. Image Space Photon Mapping recasts the initial and final photon bounces of traditional photon mapping as image-space operations on the GPU [McGuire and Luebke 2009], and achieves interactive to real-time frame rates for complex scenes. Ritschel et al. [2009a] accelerate final gathering with a parallel micro-rendering technique running on the GPU. They support BRDF importance sampling and report interactive frame rates for complex scenes.
d) Instant radiosity methods: The entire lighting in a scene can be approximated by a set of virtual point lights (VPLs) [Keller 1997], and techniques based on this instant radiosity idea have gained much attention in recent years. RSMs can be used to create VPLs for one bounce of indirect light, and their contribution can be accumulated in screen space using splatting [Dachsbacher and Stamminger 2006], or multi-resolution splatting [Nichols and Wyman 2009]. The latter computes the indirect lighting at a lower resolution for smooth surfaces, and more accurately where geometric detail is present. This idea has been further improved with smart clustering of the RSM's pixels [Nichols et al. 2009]. Note that all aforementioned methods compute one-bounce indirect illumination without occlusion only. Ritschel et al. present an efficient method to quickly generate hundreds of imperfect shadow maps. These allow the approximation of the indirect illumination from VPLs with sufficient quality. However, in order to avoid flickering and to provide temporal coherence a large number of VPLs is required (typically hundreds to thousands), and obviously this takes a toll on performance and prevents high frame rates in dynamic scenes.
e) Lattice-based methods: The Discrete Ordinates Method (DOM) [Chandrasekhar 1950] discretizes the quantities in the radiative transfer equation (RTE) in space and orientation (DOMs are typically used for computing radiative transfer in participating media). These discrete values are used to approximate the different terms in the RTE: the radiance distribution is stored in a 3D grid, and light is exchanged between neighboring volume elements, reducing the computation to local interactions only. A variant of these methods postulates a simple photon transport model that describes a diffusion process to compute light transport in participating media based on the lattice-Boltzmann method [Geist et al. 2004]. Recently, Fattal [2009] presented an improvement of DOMs to reduce light smearing (due to repeated interpolation) and ray effects (due to discretized directions). Note that although these methods are efficient, and (potentially) highly parallel, they do not run at interactive frame rates.